package com.chapter16.ThreadUse;

/**
 * @author 宋鑫宇
 * @version 1.0
 * 通过继承 Thread 类创建线程
 */
public class Thread01 {
    public static void main(String[] args) {
        //创建一个Dog对象，可以当做线程使用
        Dog dog = new Dog();
        dog.start();//启动线程
        //当main线程启动了一个子线程 Thread-0时，主线程不会阻塞，会继续执行(交替执行)
        for (int i = 0; i < 10; i++) {
            System.out.println("2222222" + i + Thread.currentThread().getName());
            //让主线程休眠
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

//继承Thread类，当一个类继承了Thread类时，该类就可以当做线程使用
class Dog extends Thread {
    int count = 0;

    // Thread类实现了Runnable接口的run方法
    @Override
    public void run() {//重写run方法，写自己需要的业务逻辑
        while (true) {
            System.out.println("111111" + (++count) + Thread.currentThread().getName());
            //让该线程休眠一秒钟
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            if (count == 8) {
                break;//当count等于8，退出while，结束线程
            }
        }
    }
}
